Several techniques for combining turbo code with trellis code modulation (TCM) are described in the current literature. The combination is attractive because it allows high spectral efficiency in the encoder/decoder to be combined with high coding gain. In all of the prior art approaches (see references 1 through 4), the main concern is achieving low bit error rate (BER) performance at the lowest signal-to-noise ratio (SNR) possible, while obtaining high spectral efficiency. The codes described in the prior art are designed for a fixed modulation system. For example, the codes are designed for M-Quadrature Amplitude modulation (M-QAM) or M-Phase Shift Keying (M-PSK), where M, the dimension of the constellation, is constant for the application.
Turbo code achieves very impressive bit error rate (BER) performance. However, turbo code exacts a price in terms of computational complexity and block size in exchange for such low BER. These problems are compounded when viewed from the standpoint of multichannel transmission systems. In multichannel or multicarrier systems, the number of bits that can be transmitted in a single symbol time in each channel is very small compared to the size of a turbo block. However, in order to decode turbo-encoded data, the entire block must be received at the modem. This is because all of the parity bits relate to all of the information bits. This means that the receiver must wait many symbol times in order to decode a single bit of data. For example, in QAM modulation in a multicarrier system, such as digital subscriber line (DSL) modems, where total power for all sub-bands is limited and a power spectral density (PSD) mask applies, QAM constellation sizes may be limited to something like 10 bits per channel. A typical turbo block size is of the order of 1000 bits plus the parity bits. The receiver would have to wait 150 symbol times (assuming a ⅔ code rate) and queue up a lot of data before it could decode.
In addition to the long delay for transmitting large turbo blocks, the prior art techniques, do not address the multi-tone modulation environments. In multi tone communications, multiple channels, each identified with a separate frequency carrier, are employed to transmit data. In a multi tone system, the channel characteristics vary from channel to channel and advantages are achieved by allowing the constellation sizes to vary from channel to channel; hence the name which is short for multiple tones. For example, determining how many parity bits to send is based on selecting a code rate that provides the highest possible information bit rate. The code rate, however, is a single parameter that must be traded against constellation size and signal-to-noise ratio (SNR). But in a multi tone environment, these are allowed to vary from channel to channel.